package com.css.fxfzfxqh.modules.buildingKilometerGrid.strategy;

import com.css.fxfzfxqh.exceptions.ShpFieldException;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.exceptions.BizException;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.model.param.QueryByVersionParam;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.model.vo.BuildingGridGetByIdVo;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.model.vo.QueryByVersionVo;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.model.vo.VersionParseFileVo;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.vo.Grid13VO;
import com.css.fxfzfxqh.util.ParsingResult;

import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;

public interface ShpService {
    VersionParseFileVo parseData(ParsingResult parsingResult, String tempVersionCode) throws ShpFieldException;

    void saveParseData(String sourceVersionCode, String targetVersionCode) throws BizException;

    QueryByVersionVo<?> queryDataByVersionCode(QueryByVersionParam build);

    //地震影响场网格相交
    List<Grid13VO> queryDataByParam(QueryByVersionParam build);
    // 根据地震影响场查询对应的公里网格数据-经济损失
    List<Grid13VO> queryDataByParam1(QueryByVersionParam queryByVersionParam);

    BuildingGridGetByIdVo<?> findById(String id);

    void delByVersionCode(String versionCode, Date currTime, String currUid);

    List<?> listGridDataByVersionCode(String version);

    void dataExport(HttpServletResponse response, String versionCode);

    List<Grid13VO> queryYwData(QueryByVersionParam queryByVersionParam);

    List<Grid13VO> getJcld(QueryByVersionParam queryByVersionParam);

    List<Grid13VO> getPga(QueryByVersionParam queryByVersionParam);

    void delDataById(String id);
}
